Generating code typically comprises a complicated and inefficient process with little flexibility. Code developers are typically required to generate multiple versions of code which is costly and very time consuming. Each of the multiple versions of code is independently generated.